Proving Isolation Properties for Software Transactional Memory

نویسندگان

  • Annette Bieniusa
  • Peter Thiemann
چکیده

An algorithm for Software Transactional Memory (STM) is correct if it guarantees a proclaimed degree of isolation between concurrently executing transactions. A correctness proof requires explicit modeling of the effects of transaction bodies and the non-deterministic scheduling of their operations. We provide a formalization of an STM algorithm that is explicit about all aspects required for a correctness proof: effects of operations, nondeterminism, and modeling rollback. We prove that this algorithm is correct by showing that it implements opacity. We also prove the correctness of a variant of the algorithm that establishes snapshot isolation.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Verification of Snapshot Isolation in Transactional Memory Java Programs

This paper presents an automatic verification technique for transactional memory Java programs executing under snapshot isolation level. We certify which transactions in a program are safe to execute under snapshot isolation without triggering the write-skew anomaly, opening the way to run-time optimizations that may lead to considerable performance enhancements. Our work builds on a novel deep...

متن کامل

A Compositional Method for Verifying Software Transactional Memory Implementations

We present a compositional method for verifying software transactional memory (STM) implementations and its application to the Bartok STM. The method consists of two parts. The first is a generic, manual proof of serializability at the algorithm level for lazy-invalidate, write-in-place STM’s. The proof relies on three properties of program executions that the STM must ensure. The second part c...

متن کامل

Snapshot Isolation Anomalies Detection in Software Transactional Memory

Some performance issues of transactional memory are caused by unnecessary abort situations where non serializable and yet non conflicting transactions are scheduled to execute concurrently. Smartly relaxing the isolation properties of transactions may overcome these issues and attain considerable performance improvements. However, it is known that relaxing isolation restrictions may lead to run...

متن کامل

Isolates: Serializability Enforcement for Concurrent ML

There has been much recent interest in exploring higher-level concurrency control abstractions such as software transactional memory (STM) to alleviate the complexity of reasoning about interactions among concurrent threads of control. Isolation and atomicity are the two critical properties provided by an STM that guarantee serializability of concurrent actions. Isolation ensures that transacti...

متن کامل

Predictable transactional memory architecture for hierarchical mixed-criticality systems

A transactional memory simplifies the concurrency management in multicore systems by permitting sets of load and store instructions to be executed in an atomic way. The correct results for concurrent transactions and the execution time strongly depend on the coherency potentials, rollback capabilities and strategies of the transactional memory. A transactional memory can be implemented as a Har...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011